优秀Java开发者的10条共性
点击蓝色“程序猿DD”关注我
回复“资源”获取独家整理的学习资料!
作者 | klein
双十一虚拟机大促,主打机型大横评!
Java开发人员必须深刻理解面向对象编程。如果没有面向对象编程的坚实基础,就无法感受到像Java这样的面向对象编程语言的美感。如果你不太了解现象对象编程是什么,即使你使用的是面向对象编程语言,你仍可能会面向过程进行编码。仅研究面向对象原则并没有太多的帮助, 我们应该知道如何使用面向对象的方式应用这些原则来设计解决方案。因此我们需要拥有丰富的对象建模,继承,多态,设计模式等方面的知识。
2、精通核心的API
如果你不了解语言结构和核心API,那么无论你在在理论知识方面有多强大也是枉然。对于Java语言,开发者对核心的API应具有非常丰富的实践经验,如java.lang.*包,I/O,异常,集合,泛型,线程,JDBC等。当涉及到构建Web应用程序时,无论你使用哪个框架,了解servlet和JSP的概念是必须也是至关重要的。
3、持续地编码
仅仅从理论上来看事情比较简单。我们可以在理论上非常容易地解决问题。但是当我们开始实现这些内容时我们才认识到问题的深度。在这个过程中你将了解到语言限制,或在编码时设计最佳实践。所以需要你持续编码。
4、订阅技术论坛
在技术上我们并不孤单,在论坛上会有很多人在使用着与我们一样的技术。虽然在框架上进行简单的概念验证对你来说并没有什么挑战,但当你开始在实际项目中使用它时你将面临各种奇怪的问题,并且这些问题在其官方文档中根本找不到任何解决方案。在你开始使用新的技术时,第一件事就是订阅相关的技术论坛。无论你遇到什么问题,世界上其他人都可能已经遇到过并找到了解决方案。如果你能回答其他论坛用户提出的问题那就更好了。
5、关注博客并回复
就如我上面说的你并不孤单,全世界有成千上万的热心技术狂热者在博客上发表他们对技术的见解。你还可以从其他博客和开发人员那里获得有关相同技术有价值的观点。有些人可能会发现特定的框架特征非常有用,而其他人可能会发现这些特征是愚蠢而毫无意义的,给出了他自己为什么会这样认为的原因。因此你可以看到使用这些工具的其他开发人员的好与坏。通过查看其他博客获得价值的另一种方法是回复你的观点或是提出自己的问题。
6、阅读优秀开源项目代码
一个合格的开发者学习如何去使用框架,但如果你想成为一个优秀的开发者则还需要研究各种流行的优秀的框架源码。从这些框架源码中你可以知道框架内部的运行机制及其最佳实践。同时这将对使用框架有很大的帮助。
7、了解信息技术趋势
目前开源软件项目越来越多,开源趋势愈演愈烈。当你对使用某个框架有个好想法时,它有可能已经变得过时-因为一些新框架包含的功能是该框架提供的功能的超集。另外你在使用的框架中需要解决的问题或许在新的框架中仅使用一行配置即可解决。所以密切关注技术图谱中的技术哪些将会崛起,哪些将会过时。
8、手头保留通用代码片段及工具
随着时间的推移,你可能需要反复写入/复制粘贴相同的代码/配置。可以保留像log4.properties,JDBC配置等配置文件,或者像StringUtils,ReflectionUtils,DBUtils等实工具将更有帮助。我知道这可能本身不会让你成为优秀的开发者。但是想象一下,一些合作开发人员要求你帮助从集合对象中获取属性值列表,然后你只需使用ReflectionUtil在几分钟内提供解决方案:这将使你更加优秀。
9、了解不同的软件开发方法
熟悉Agile、SCRUM、XP、Waterfall等各种开发方法。选择何种开发方法取决于客户,一些客户喜欢敏捷,另一些客户对瀑布模型更中意。所以开发者对各种开发方法有所了解将是一个加分项。
10、记录自己对于技术的理解和思考
在日常工作中,你可以学习新的更好的做事方式,以及最佳实践,架构理念等。记录这些想法,发布博客,在社区中分享。想象一下你解决了一个在做简单的POC时发生的奇怪的问题并在博客上记录下这个问题。也许世界上其他的开发人员在生产部署的应用程序上也遇到了同样的问题,这时候你的这个解决方案对他们将是多有价值。所以用博客记录自己的思考,这将在以后的某天可能会对他人或自己有所帮助!
-END-
欢迎留言区互动
1. 说说你符合上面的哪几条?
2. 您认为优秀开发者最应该具备什么特点?
留言交流不过瘾
关注我,回复“加群”加入各种主题讨论群
朕已阅